/**
 * 
 */
package es.ats.codington.festival.interfaces.daos;


import java.util.List;

import es.ats.codington.festival.domain.Event;
import es.ats.codington.festival.domain.EventSignUp;
import es.ats.codington.festival.exceptions.DAOException;

/**
 * @author Codington_RED
 *
 */
public interface IEventSignUpDAO {

	/**
	 * DAO interface for checkEventsofVisitor method.
	 * @param eventSignUp
	 * @return check
	 * @throws DAOException
	 */
	public boolean checkEventsofVisitor(EventSignUp eventSignUp) throws DAOException;

	/**
	 * DAO interface for unregisteVisitorToEvent method.
	 * @param eventSignUp
	 * @return deleteVisitorToEvent
	 * @throws DAOException
	 */
	public boolean unregisterVisitorToEvent(EventSignUp eventSignUp) throws DAOException;
	
	/**
	 * DAO interface for registerVisitorToEvent method.
	 * @param eventSignUp
	 * @return insertVisitorToEvent
	 * @throws DAOException
	 */
	public boolean registerVisitorToEvent(EventSignUp eventSignUp) throws DAOException;
	
	/**
	 * registeredEvents
	 * @param eventSignUp
	 * @return events
	 * @throws DAOException
	 */
	public List<Event> registeredEvents(EventSignUp eventSignUp) throws DAOException;

	/*public boolean checkEventsofVisitorDAO(EventSignUp eventSignUpSession);
	
	public List<Event> registeredEvents(EventSignUp eventSignUp) throws DAOException;
	
	public int unregisterVisitorForEventDAO(EventSignUp eventSignUpSession);
	
	public List<Event> viewEventsOfUserDAO(EventSignUp eventSignUpSession) throws SQLException;
	
	public ArrayList<EventSignUp> requestEventList(String sqlQuery) throws SQLException;
	
	public ArrayList<EventSignUp> showAllEventUsersDAO() throws SQLException;
	
	public ArrayList<Event> showAllEventForOneUserDAO(EventSignUp eventSignUp) throws SQLException;
	
	public int updateRestSeatsAvailableEvent(EventSignUp eventSignUpSession);
	
	public int updateSumSeatsAvailableEvent(EventSignUp eventSignUpSession);
	
	public boolean checkSeatsForRestAvailableDAO(EventSignUp eventSignUpSession);
	
	public boolean checkSeatsForSumAvailableDAO(EventSignUp eventSignUpSession);
	
	public int registerVisitorForNewEventDAO(EventSignUp eventSignUpSession);
	
	public ArrayList<Event> showAllEventForOneUserDAO(IEventSignUpDAO eventSignUpDAO) throws SQLException;

	public boolean checkEventsofVisitor(EventSignUp eventSignUp) throws DAOException;*/
	
	

}
